extends Node#继承的节点

func _ready():#初始化函数
	var array = [1,2,3]#创建数组
	
	#类型运算符
	print(array[0])#索引运算符：[]
	print(array.size())#属性运算符：.
	print(1 in array)#内容运算符：in
	
	#数学运算符
	
	print(1+1)#加法运算符：+
	print(array+[4,5,6])#加法运算符可以用来连接数组
	
	print(2-1)#减法运算符：-
	print(-5)#减法运算符可以取负数
	
	print(2*2)#乘法运算符：*
	
	print(4/2)#除法运算符：/
	print(5/2)#整数除法会去掉小数
	print(5/2.0)#计算小数
	
	print(5%2)#取余运算符：%，只对整数有效
	print(fmod(5.4,3.14))#小数取余要用fmod函数
	
	#位运算符
	print(~1)#按位取反：~
	print(1<<1)#左移位：<<
	print(2>>1)#右移位：>>
	
	print(5&3)#按位与：&，两个位都是1，则是1，否则是零
	#5：101
	#3：011
	#按位与
	#&：001
	
	print(5|3)#按位或：|，只要有一个位是1，则是1
	#5：101
	#3：011
	#按位或
	#|：111
	
	print(5^3)#按位异或：^，两个位都是1，则是零，否则是1
	#5：101
	#3：011
	#按位异或，可以用于制作位开关
	#^：110
	
	#逻辑运算符
	print(2>=1)#大于等于：>=
	print(2>1)#大于：>
	print(1<2)#小于：<
	print(1<=2)#小于等于：<=
	
	print(1==1)#等于：==
	print(1!=2)#不等于：!=
	
	#布尔运算符
	print(0 && 1)#与，并且：&&
	print(1 and 1)#与，并且：and
	
	print(0 || 1)#或，或者：||
	print(0 or 0)#或，或者：or
	
	print(!1)#非，否定：！
	print(not 1)#非，否定：not
	
	#三元运算符，如果条件判断为真，则运行左表达式，否则运行右表达式
	print(1 if 0 else 2)#三元运算符：左表达式 if 条件判断 else 右表达式
	
	#赋值运算符
	var numb = 1#赋值：=
	numb += 3#加法赋值
	numb -= 2#减法赋值
	numb *= 10#乘法赋值
	numb /= 5#除法赋值
	numb %= 3#取余赋值
	numb &= 5#按位与赋值
	numb |= 5#按位或赋值
	print(numb)